package com.hu.biz.encrypt;

/**
 * 加密处理器
 * 
 * @author qiangt
 * @since 2022-10-22
 */
public interface EncryptProcessor {
    /**
     * 获取实现类的算法名
     * 
     * @return
     */
    String getAlgorithm();

    /**
     * 使用密钥初始化算法
     * 
     * @param secret
     */
    void initAlgorithm(String secret);

    /**
     * 加密
     * 
     * @param encrypt 待加密的内容
     * @return 加密后的内容
     */
    String encode(Encrypt encrypt);

    /**
     * 解密
     * 
     * @param value 待解密的内容
     * @return 解密后的内容
     */
    Encrypt decode(String value);

}
